<template>
  <el-table-column
    :label="label"
    :prop="prop"
    :width="width"
    :minWidth="minWidth"
    :type="type"
    :sortable="sortable"
    :fixed="fixed"
    :align="align"
    :header-align="headerAlign"
    :show-overflow-tooltip="showOverflowTooltip"
  >
    <template v-if="$slots.default" #default="scope">
      <slot
        name="default"
        :row="scope.row"
        :column="scope.column"
        :$index="scope.$index"
      ></slot>
    </template>
  </el-table-column>
</template>
<script setup lang="ts">
const {
  label,
  prop,
  type = 'default',
  width = '',
  minWidth,
  sortable = false,
  fixed = false,
  showOverflowTooltip,
  align = 'left',
  headerAlign = 'left',
} = defineProps<{
  label?: string
  prop?: string
  type?: 'default' | 'selection' | 'index' | 'expand'
  width?: string | number
  minWidth?: number
  sortable?: boolean | 'custom'
  fixed?: 'left' | 'right' | boolean
  showOverflowTooltip?: boolean
  align?: 'left' | 'center' | 'right'
  headerAlign?: 'left' | 'center' | 'right'
}>()
</script>
<style scoped></style>
